iT邦幫忙

2021 iThome 鐵人賽

DAY 10
0
IT管理

用自組NAS亂玩unRaid系列 第 10

硬碟管理原理

  • 分享至 

  • xImage
  •  

unRaid系統會要求使用者要先配置硬碟,才能使用各個功能(如VM,共享資料夾…等)
今天先深入了解原理,了解後方可按照自己安排不同形式的硬碟管理
我們開始吧~


unRaid總共有三種硬碟模式:

  • Array (硬碟陣列)

unRaid,顧名思義就「不是RAID」
當然Array也就不是常見的RAID喔
而是一種資料池(pool)的結構,會把所有的硬碟打成同一個空間

“當然往後配置share folder也可以選擇包含或排除哪些硬碟,我們後面實作~”

  • Parity (校驗)

https://ithelp.ithome.com.tw/upload/images/20210915/20117399hikVrRRylT.png
(來源:https://reurl.cc/a9OR5Q)

工作原理是當有資料存入時,會對每個資料碟的同個區域做XOR計算,最後把結果都存入校驗碟裡

XOR計算規則是只要是奇數個1,計算值就為1;反之偶數個1,計算值就為0

舉例來說:
正常硬碟資料如下圖
|Storage|Storage|Storage|Storage|Storage|Storage|Storage|Parity|
| :-: | :-: |
|1|0|1|1|0|1|0|0|
|0|0|0|1|1|1|0|1|
|…|…|…|…|…|…|…|…|

現在有個硬碟壞了 (X,Y表示)
|Storage|Storage|Storage|Storage|Storage|Storage|Storage|Parity|
| :-: |
|1|0|1|1|X|1|0|0|
|0|0|0|1|Y|1|0|1|
|…|…|…|…|…|…|…|…|
X,Y 回推,得0,1

這有點像RAID 5,但RAID 5是把校驗碼分散在各個硬碟裡
容錯性則跟RAID5差不多,都是保證其中一顆硬碟壞掉可被修復

  • 優點
    RAID 5是「真的」陣列,麻煩點是不僅硬碟大小要相同、假如壞了其中一顆硬碟,一定必須重建陣列才可恢復資料
    而Parity的方式壞了其中一顆,其他硬碟仍可繼續工作 (校驗碟突然掛點也不影響)
    還有儲存區硬碟大小型號皆可不同,只要比校驗碟小就可以了
  • 缺點
    假如校驗碟突然掛點,就等於失去保護硬碟的作用了
    並且很多使用者對Parity功能詬病就是寫入速度;讀不會影響,但寫入大概是RAID5的3倍以上吧(包含寫入時間+校驗盤校驗所有硬碟的時間)

但小雨覺得天下絕對沒有兩全其美的事情,Parity以容錯性和方便性來講,個人使用已足夠

  • Cache (快取)

顧名思義就是加快存取資料的速度,能解決原硬碟讀寫太慢的問題

而unRaid Cache功能就是為了解決Parity讀寫太慢的問題,機制是以SSD暫時取代原本資料池
讓使用時先寫入Cache區域,等使用者離峰時在把資料『搬移』至原本資料池。

與瀏覽器快取不同的是:Cache 碟是利用離峰的時間,再慢慢把資料搬回原位

Mover機制

為了避免資料正在讀寫又執行Mover產生錯誤,unRaid Mover 建立了一些機制:

  • Mover 啟動時,檔正在被讀寫,則該檔不會啟動搬移,只能等下次 (隔天同一時間)
  • Cache根目錄下以 . 開頭的資料夾 (也就是temp文件),mover 不會搬移這些文件
  • Cache根目錄下的檔案 (系統控制文件),mover 不會搬移這些文件

(Mover詳細調整我們後面再來實作~)


上一篇
unRaid安裝+基本設置
下一篇
硬碟管理實作
系列文
用自組NAS亂玩unRaid31
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言